using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.Text;
using SystemFrameworks;
using Common;
using Microsoft.ApplicationBlocks;
using BusinessRules;
using DataAccess;
using Microsoft.ApplicationBlocks.Data;

namespace BusinessRules
{
    public class Opciones
    {
        #region Private Data Access Atributes

        private const string PER_ID_PARAM = "@PER_ID";
        private const string PER_NOMBRE_PARAM = "@PER_NOMBRE";
        private const string PER_DESCRIPCION_PARAM = "@PER_DESCRIPCION";
        private const string PER_TIPO_PARAM = "@PER_TIPO";
        private const string PER_ESTADO_PARAM = "@PER_ESTADO";
        private const string PER_FECHA_CREACION_PARAM = "@PER_FECHA_CREACION";
        private const string PER_FECHA_ACTUALIZACION_PARAM = "@PER_FECHA_ACTUALIZACION";
        private const string USU_ID_PARAM = "@USU_ID";
        private const string ACC_ID_PARAM = "@ACC_ID";
        private const string OPC_ID_PARAM = "@SSM_ID";
        private const string OPC_TIPO_PARAM = "@OPC_TIPO";
        private const string OPC_ARCHIVO_INSTRUCTIVO_PARAM = "@OPC_ARCHIVO_INSTRUCTIVO";
        private const string SER_ID_PARAM = "@SER_ID";
        private const string OPC_NIVEL_PARAM = "@OPC_NIVEL";
        private const string OPC_ID_PADRE_PARAM = "@OPC_ID_PADRE";

        #endregion Private Data Access Atributes		

        
        private string _CadenaConexion;

        public string CadenaConexion
        {
            get { return _CadenaConexion; }
            set { _CadenaConexion = value; }
        }

        public Opciones(string strCadenaConecxion)
        {
            CadenaConexion = strCadenaConecxion;
        }

        public Adm_Opciones_AccionData BuscarAccionesOpcion(int intPerfil, string strTipoPerfil)
        {
            Adm_Opciones_AccionData objDS = new Adm_Opciones_AccionData();
            try
            {
                SqlParameter param1 = new SqlParameter(PER_ID_PARAM, intPerfil);
                SqlParameter param2 = new SqlParameter(PER_TIPO_PARAM, strTipoPerfil);
                SqlParameter[] parameters = { param1, param2 };
                Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteDataTable(CadenaConexion, CommandType.StoredProcedure, "PAS_BUSCAR_ADM_OPCIONES_ACCIONES", objDS,parameters);
                return objDS;
            }
            catch (Exception objEx)
            {
                throw new ApplicationExceptionManager(Utilidad.TraerMensaje("gmsgErrorBuscar", "PAS_BUSCAR_ADM_OPCIONES_ACCIONES"), objEx);
            }
        }




        #region ConsultarMenuPerfil

        public DataTable ConsultarMenuPerfil(int intPerfil)
        {
            SqlParameter param1 = new SqlParameter(PER_ID_PARAM, intPerfil);
        
            SqlParameter[] parameters = { param1 };
            DataTable objDatatable = new DataTable();
            SqlHelper.ExecuteDataTable(CadenaConexion, CommandType.StoredProcedure, "PAS_CONSULTAR_SIG_SITEMAP_POR_PERFIL", objDatatable, parameters);
            return objDatatable;
        }

        #endregion

        
    }
}
